1. Field of the Invention
This invention relates to transcoders for the conversion of signals between a first and a second coding scheme. The invention is particularly suitable for converting video signals.
2. Related Art
There are many occasions when it is necessary to transmit moving picture television over long distances via a transmission link. Broadcast quality television requires in excess of 100 Mbit/s when transmitted in digital form which is expensive to transmit and requires links of high bandwidth. An acceptable degree of degradation in the picture quality can be introduced to reduce the information content being transmitted. Additionally or alternatively, compression coding techniques may be used which take advantage of the high degree of spatial and temporal redundancies in the video signals being encoded. So, for example, for video conferencing applications compression down to a bit rate of a few hundred kbit/s is possible whereas videophone-quality pictures including sound can be compressed down to only 64 bit/s, equivalent to a single telephone circuit.
Redundancy reduction techniques assume there is spatial and/or temporal correlation between neighbouring pixels or blocks of pixels. The details of correlation are encoded as well as the differences between the assumptions and the actual pixels or blocks. Typically each frame of an image to be coded comprises an array of picture elements (pixels) which are divided into blocks of N.times.M pixels.
Predictive coding exploits the assumption that a value within a frame is related to some neighbouring values, in the same or a different frame, and the value may therefore be calculated at the receiver instead of being transmitted. It is only necessary to transmit the prediction error arising from such an assumption. For instance the first pixel of a frame may be transmitted exactly whilst each subsequent pixel is transmitted as a difference from its predecessor. In more complex schemes the prediction may be a combination of a number of pixels.
Transform coding exploits the correlation of pixel magnitudes within a frame by transforming the magnitudes into another set of values, many of which are relatively small and can therefore be coded using fewer bits. The most common form of transform coding uses the Discrete Cosine Transforn (DCT). A block of N.times.M pixels is transformed into an array of N.times.M transform coefficients. The resulting array of coefficients is then quantised by dividing each coefficient by a variable quantisation factor. The quantised coefficients may be coded in variable length code, for instance a Huffman code.
Another coding technique is motion compensation in which a picture is divided into blocks of pixels and each block of the current frame is compared with the corresponding block of a reference frame, which may be a previous or a subsequent frame, and with regions shifted in position from that block, and that region of the reference frame which the block most closely resembles is identified.
The vector difference in position between the identified region and the block in question is termed a motion vector and is used to shift the identified region of the reference frame into the position of the relevant block in the current frame. Motion vectors are generated for all the blocks of the current frame and these are used to derive a predicted frame from the reference frame. The differences between the current and predicted frame are, on average, smaller than those between the current and reference frame and can be encoded using a lower bit rate. A decoder which already has the reference frame stored can thus reproduce the current frame using the motion vectors and the difference values. A signal may be coded using any of the aforementioned coding techniques, either separately or in combination.
There are circumstances when it is desirable to employ a transcoder which can accept a received data stream encoded according to a first scheme and output an encoded data stream encoded according to a second coding scheme. If one had a decoder which operated according to a second coding scheme then such a transcoder would allow reception of the transmission encoded according to the first coding scheme without modifying the original encoder. For example, a transcoder could be used to convert a 64 kbit/s video signal, conforming to ITU-T standard H.261, from an ISDN video terminal to a 32 kbit/s signal for transmission over a Digital European Cordless telephone (DECT) network.
Known transcoders decode video encoded according to a first coding scheme into an uncompressed video signal which is then encoded by an encoder according to the second coding scheme to output a new compressed data stream. Thus, a full decoding operation is carried out to reconstitute the original video signal and then this video signal is encoded to provide a new coded data stream according to the second coding scheme. For coding methods involving motion compensation, new motion vectors have to be generated for the signal encoded according to the new format and this accounts for a large proportion of the processing time of conventional transcoders.